The present invention relates to controllers and more particularly, to teaching pendants for robots. A major objective of the present invention is to provide a maximally intuitive controller.
Teaching pendants have been developed so that robots can be programmed without character-based programming languages. Related to radio controllers for model airplanes and joysticks and trackballs for video games, teaching pendants allow an operator to control a robot intuitively so that it performs a desired set of movements. An appropriately equipped robot can then autonomously repeat the programmed movements, or calculated improvements thereon.
One useful class of robots is an arm with six axes of movement, i.e., degrees of freedom. The six axes can differ depending on the particular type of robot. In one such type, there are axes used to position a robot hand in XYZ space. The hand can bend and rotate, defining two more axes. A sixth axis of movement is a pinching of fingers used in grasping objects.
Most robots are taught with teach pendants comprising a box with an array of switches that, when pressed, cause the robot to move. This approach is difficult to learn because switch positions are not intuitively related to the corresponding robot motions.
Joysticks, upon which some other teaching pendants are based, basically comprise a body and a member mechanically coupled to the body so as to have at least two axes of movement with respect to the body. With the appropriate interfacing, manipulation of the joystick can control plural axes of movement for a robot at a time. More sophisticated joysticks, adding vertical translational and/or rotational movement of the member, can provide for three or four axes. Even these enhanced and more expensive joysticks fall short of controlling six-axis robots.
The number of axes controllable by a joystick can be multiplied by providing for reassigning the robot axes to be controlled by the joystick. Thus, for example, a teaching pendant can include: a first button which, when actuated, assigns a joystick axis to an X-axis of translational movement of a robot arm; a second button which, when actuated, assigns two joystick axes to respectively Y and Z axes of robot arm movement; a third button which, when actuated, assigns two joystick axes to bending and rotation of the robot hand; and a fourth button which, when actuated, controls pinch. Of course, the buttons could be programmed to select other assignments between joystick axes and robot axes.
However the assignments are made, the use of manual switches to select different assignments is inherently non-intuitive. Moreover, the intuitive nature of the joystick is used to its advantage for only one or two of the assignments. While a joystick might provide optimally intuitive control of movement in an XY plane, upon reassignment to control movement along a Z axis, the joystick can become counter-intuitive.
The result is that operators must be trained over a period of weeks to master a teaching pendant, and significant retraining can be required after nonuse for even a day or two. Thus, a more intuitive controller for robotics and other applications requiring movement along multiple axes is required.